1. Technical Field
The invention is related to upsampling of signals, and in particular, to a technique for constructing a high-resolution output signal and/or or a high-resolution solution set as a bilateral function of an original input signal and a low-resolution solution set derived from a downsampled version of the original input signal.
2. Related Art
Processing high-resolution signals, such as, for example, a multi-Megapixel or Gigapixel image file, typically requires significant computational overhead and memory to compute a global solution. For example, image processing tools such as tone mapping, colorization, stereo depth, photomontage, etc., require computing a solution (e.g., exposure, chromaticity, disparity, labels, etc.) over the entire image pixel grid.
However, as the size of the signal increases, the computational costs and/or available memory often requires the desired solution to be computed by downsampling the original signal, processing the downsampled signal to achieve some desired solution, then upsampling the processed downsampled signal. This is particularly useful for interactive applications where user wait times are an important consideration.
Generally, once a low-resolution solution has been computed for the smaller downsampled signal, conventional signal processing schemes operate by convolving the low-resolution downsampled signal with an interpolation kernel, and resampling (upsampling) the result on a new (high-resolution) grid to produce a processed upsampled version of the original signal. Examples of conventional upsampling techniques include techniques such as “nearest neighbor,” Gaussian interpolation, bicubic interpolation, etc.
Unfortunately, one of the problems with computing a solution over a downsampled signal is that the final upsampled solution or signal tends to include artifacts or other errors that would not exist if the full resolution signal had been processed instead of the downsampled signal. For example, images upsampled in this manner typically suffer from blurring of sharp edges due to a smoothness prior inherent in conventional linear interpolation filters.